﻿using Aspose.Words;
using System.Text;

namespace Aspose.Word写入数据和表格合并_NET6版本
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

            // 此代码示例演示如何使用 C# 在 Word 文档中插入 HTML 表格
            Document doc = new Document();
            DocumentBuilder builder = new DocumentBuilder(doc);

            // 添加第一级标题
            builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading1;
            builder.Font.Bold = true; // 设置为粗体
            builder.Font.Size = 16; // 设置字体大小
            builder.Font.Color = System.Drawing.Color.Blue; // 设置字体颜色
            builder.Writeln("这是一个带格式的一级标题");

            // 添加一个二级标题，恢复样式
            builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading2;
            builder.Font.Bold = false; // 恢复为正常字体
            builder.Font.Color = System.Drawing.Color.Black; // 其他颜色
            builder.Writeln("这是一个二级标题");
            builder.Writeln("这是第一段。");
            builder.Writeln("这是第二段。");


            // 请注意，AutoFitSettings 不适用于从 HTML 插入的表格。

            string html = """
                <table style="width: 50%; border-collapse: collapse; border: 1px solid black;">
                    <tr>
                        <th rowspan="2" style="border: 1px solid black;">姓名</th>      <!-- 合并2行 -->
                        <th colspan="2" style="border: 1px solid black;">成绩</th>     <!-- 合并2列 -->
                    </tr>
                    <tr>
                        <th style="border: 1px solid black;">数学</th>
                        <th style="border: 1px solid black;">英语</th>
                    </tr>
                    <tr>
                        <td style="border: 1px solid black;">张三</td>
                        <td style="border: 1px solid black;">90</td>
                        <td style="border: 1px solid black;">85</td>
                    </tr>
                    <tr>
                        <td style="border: 1px solid black;">李四</td>
                        <td colspan="2" style="border: 1px solid black;">80</td>       <!-- 合并2列 -->
                    </tr>
                    <tr>
                        <td style="border: 1px solid black;">王五</td>
                        <td style="border: 1px solid black;">70</td>
                        <td style="border: 1px solid black;">75</td>
                    </tr>
                </table>
                
                """;

            builder.InsertHtml(html);

            doc.Save("InsertTableFromHtml.docx");

        }
    }
}
